package xin.mydreams.mybill.widget.user.service;

import java.util.Collection;
import java.util.List;

import xin.mydreams.mybill.widget.user.entity.User;

/**
 * 用户service
 * 
 * @Type IUserService.java
 * @author 谷泽昊
 * @date 2017年11月17日 下午7:20:06
 * @version
 */
public interface IUserService {

	/**
	 * 根据用户名查询用户
	 * 
	 * @date Created at 2017年11月17日 下午7:21:39
	 * @Author 谷泽昊
	 * @param userName
	 * @return
	 */
	public User findByUserName(String userName);

	/**
	 * 根据id查询
	 * 
	 * @date Created at 2017年11月20日 下午4:29:35
	 * @Author 谷泽昊
	 * @param id
	 * @return
	 */
	public User findById(String id);

	/**
	 * 添加 修改用户
	 * 
	 * @date Created at 2017年11月20日 上午11:52:30
	 * @Author 谷泽昊
	 * @param user
	 */
	public User save(User user);

	/**
	 * 根据用户删除用户
	 * 
	 * @date Created at 2017年12月5日 下午2:22:32
	 * @Author 谷泽昊
	 * @param user
	 */
	public void deleteByUser(User user);

	/**
	 * 批量删除
	 * 
	 * @date Created at 2017年12月26日 下午3:12:12
	 * @Author 谷泽昊
	 * @param list
	 */
	public void deleteByUser(List<User> list);

	/**
	 * 查询所有
	 * 
	 * @date Created at 2018年9月12日 上午10:30:05
	 * @Author 谷泽昊
	 * @return
	 */
	public List<User> findAll();


	/**
	 * 批量更新
	 * 
	 * @date Created at 2018年9月14日 下午6:06:52
	 * @Author 谷泽昊
	 * @param users
	 * @return
	 */
	public List<User> updateAll(Collection<User> users);

	/**
	 * 根据id批量查询
	 * 
	 * @date Created at 2018年9月17日 上午9:49:37
	 * @Author 谷泽昊
	 * @return
	 */
	public List<User> findByIds(String[] ids);

	/**
	 * 根据id批量查询
	 * 
	 * @date Created at 2018年9月17日 上午9:49:37
	 * @Author 谷泽昊
	 * @return
	 */
	public List<User> findByIds(Collection<String> ids);

}

/**
 *
 * Revision history
 * -------------------------------------------------------------------------
 * 
 * Date Author Note
 * -------------------------------------------------------------------------
 * 2017年11月17日 谷泽昊 creat
 */